Orientation-based 3d image display

ABSTRACT

This disclosure describes a host controller configured to combine image data associated with left and right images of a 3D image to control a display consistent with an orientation for the display (e.g., a first and second plurality of active parallax barriers of the display). In response to an orientation for the display, the host controller may combine image data associated with respective left and right images of with a 3D image in a first or second interleaved format to be consistent with the orientation for the display. For example, the host controller may combine the image data to be line-interleaved or pixel interleaved, based on an orientation for the display. In this manner, the display may receive the combined image data and present the 3D image consistent with the orientation for the display, while reducing processing performed by the display to present the 3D image.

TECHNICAL FIELD

This disclosure relates to controlling a display to presentthree-dimensional (3D) imagery.

BACKGROUND

To present a 3D image to a viewer, slightly different images may bedirected to a viewer's right and left eyes, respectively. Thedifferences between an image presented to the viewer's right eye (rightimage) and an image presented to the viewer's left eye may cause theviewer to perceive depth in a displayed image such that the imageappears substantially as a 3D image to the viewer. Stereoscopic orauto-stereoscopic techniques may be used to present 3D images to aviewer.

According to stereoscopic techniques, a viewer may wear specializedglasses that cause right and left images of a 3D image to be directed tothe viewer's respective right and left eyes. According toauto-stereoscopic techniques, the display itself may be configured tocause right and left images of a 3D image to be directed to the viewer'srespective right and left eyes, such that specialized glasses are notneeded.

According to one example of an auto-stereoscopic technique, a displayincludes a plurality of parallax barriers at a screen of the displaythat cause right and left images to be directed to a viewer's respectiveright and left eyes, so long as the viewer is within a certain distancefrom the display. In some examples, such a plurality of parallaxbarriers may be active parallax barriers that may be activated ordeactivated, depending on whether display of a 2D image or a 3D image isdesired.

SUMMARY

This disclosure is directed to techniques for controlling, by a hostcontroller, the presentation 3D images by a display consistent with anorientation for the display. The display includes a first plurality ofparallax barriers and a second plurality of parallax barriers arrangedperpendicular to the first plurality of parallax barriers. The first andsecond plurality of parallax barriers may be selectively activated ordeactivated such that the display may cause a 3D image to be presentedto a viewer.

According to the techniques of this disclosure, in some examples, a hostcontroller may receive an indication of an orientation for the display(e.g., an indication whether the display has a first orientation or asecond orientation different than the first orientation). In response tosuch an indication, the host controller may combine image data sent tothe display such that a presented 3D image is consistent with theorientation for the display (e.g., such that the presented image appearssubstantially 3D to a viewer in an orientation for the display). Forexample, the host controller may combine first image data correspondingto a right image of the 3D image and second image data corresponding toa left image of the 3D image, such that the combined image data isarranged in a first interleaved format or a second interleaved format,consistent with an orientation for the display (e.g., consistent with anorientation of an activated first or second plurality of parallaxbarriers of the display).

For example, a method of controlling a display to present athree-dimensional (3D) image is described herein. The method includesreceiving, by a host controller, first image data that corresponds to aleft image of a three-dimensional (3D) image. The method furtherincludes receiving, by the host controller, second image data thatcorresponds to a right image of the 3D image. The method furtherincludes combining, by the host controller, the first image data and thesecond image data in a first interleaved format to generate a firstcombined image data. The method further includes sending, by the hostcontroller, the first combined image data to control a display topresent the 3D image consistent with a first orientation for thedisplay. The method further includes receiving, by the host controller,an indication of a second orientation for the display. The methodfurther includes combining, by the host controller, the first image dataand the second image data in a second interleaved format different thanthe first interleaved format to generate second combined image data inresponse to the indication of the second orientation for the display.The method further includes sending, by the host controller, the secondcombined image data to control the display to present the 3D imageconsistent with the second orientation for the display.

As another example, a host controller device configured to control adisplay to present a three-dimensional (3D) image is described herein.The host controller device includes an image processing module. Theimage processing module is configured to receive first image data thatcorresponds to a left image of a three dimensional image. The imageprocessing module is further configured to receive second image datathat corresponds to a right image of the 3D image. The image processingmodule is further configured to combine the first image data and thesecond image data in a first interleaved format to generate a firstcombined image data. The image processing module is further configuredto send the first combined image data to control a display to presentthe 3D image consistent with a first orientation for the display. Theimage processing module is further configured to receive an indicationof a second orientation for the display. The image processing module isfurther configured to combine the first image data and the second imagedata in a second interleaved format different than the first interleavedformat to generate second combined image data in response to theindication of the second orientation for the display. The imageprocessing module is further configured to send the second combinedimage data to control the display to present the 3D image consistentwith the second orientation for the display.

According to another example, a computer-readable storage medium isdescribed herein. The computer-readable storage medium storesinstructions configured to cause a computing device to receive, by ahost controller, first image data that corresponds to a left image of athree dimensional (3D) image. The instructions further cause a computingdevice to receive, by the host controller, second image data thatcorresponds to a right image of the 3D image. The instructions furthercause a computing device to combine, by the host controller, the firstimage data and the second image data in a first interleaved format togenerate a first combined image data. The instructions further cause acomputing device to send, by the host controller, the first combinedimage data to control a display to present the 3D image consistent witha first orientation for the display. The instructions further cause acomputing device to receive, by the host controller, an indication of asecond orientation for the display. The instructions further cause acomputing device to combine, by the host controller, the first imagedata and the second image data in a second interleaved format differentthan the first interleaved format to generate second combined image datain response to the indication of the second orientation for the display.The instructions further cause a computing device to send, by the hostcontroller, the second combined image data to control the display topresent the 3D image consistent with the second orientation for thedisplay.

According to another example, a host controller device configured tocontrol a display to present a three-dimensional (3D) image is describedherein. The host controller device includes means for receiving firstimage data that corresponds to a left image of a three-dimensional (3D)image. The host controller device further includes means for receivingsecond image data that corresponds to a right image of the 3D image. Thehost controller device further includes means for combining the firstimage data and the second image data in a first interleaved format togenerate a first combined image data. The host controller device furtherincludes means for sending the first combined image data to control adisplay to present the 3D image consistent with a first orientation forthe display. The host controller device further includes means forreceiving an indication of a second orientation for the display. Thehost controller device further includes means for combining the firstimage data and the second image data in a second interleaved formatdifferent than the first interleaved format to generate second combinedimage data in response to the indication of the second orientation forthe display. The host controller device further includes means forsending the second combined image data to control the display to presentthe 3D image consistent with the second orientation for the display.

The details of one or more examples of this disclosure are set forth inthe accompanying drawings and the description below. Other features,objects, and advantages of the techniques described herein will beapparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a conceptual diagram that illustrates one example of a hostcontroller configured to control a display to present a 3D image basedon an orientation for the display consistent with an example of thetechniques described herein.

FIG. 2 is a conceptual diagram that illustrates one example of a displayscreen that includes a plurality of parallax barriers that may be usedaccording to the techniques described herein.

FIG. 3 is a block diagram that illustrates one example of a hostcontroller and a display configured to operate consistent with thetechniques described herein.

FIGS. 4 and 5 are conceptual diagrams that illustrate a landscape scandisplay driven by a host controller to present a 3D image based on anorientation for the display consistent with the techniques of thisdisclosure.

FIGS. 6 and 7 are conceptual diagrams that illustrate a portrait scandisplay driven by a host controller to present a 3D image based on anorientation for the display consistent with the techniques describedherein.

FIG. 8 is a conceptual diagram that illustrates one example of a hostcontroller configured to combine image data according to a firstinterleaved format or a second interleaved format based on anorientation for a display consistent with the techniques describedherein.

FIG. 9 is a flow diagram that illustrates one example of a method forcontrolling a display to present a 3D image based on an orientation forthe display consistent with the techniques described herein.

DETAILED DESCRIPTION

This disclosure is directed to techniques for controlling, by a hostcontroller, the presentation of 3D images by a display consistent withan orientation for the display. For example, the host controller mayreceive an indication of an orientation for the display (e.g., anindication that the display has been physically rotated, or anindication to rotate the 3D image with respect to a physical orientationof the display). In response to such an indication, the host controllermay selectively combine left and right image data of the 3D image in afirst interleaved format or a second interleaved format, based on anorientation for the display. In this manner, the host controller maycontrol the display to present the 3D image consistent with anorientation for the display (e.g., consistent with an activated first orsecond plurality of parallax barriers of the display). According to thetechniques described herein, in some examples, complexity of one or morecomponents of the display (e.g., one or more display driver ICs) may bereduced. In addition, usage of one or more of processing overhead,power, and/or memory of the display to present the 3D image consistentwith the orientation for the display may be reduced, and beneficiallyused for one or more other purposes.

FIG. 1 is a conceptual diagram that depicts one example of a hostcontroller 115 configured to control a display 110 to present a 3D image111A, 111B consistent with an orientation for the display. For example,according to the example shown in FIG. 1, display 110 may have a firstorientation 117A (a landscape physical orientation in the example ofFIG. 1), or a second orientation 117B (a portrait physical orientationin the example of FIG. 1) different than the first orientation 117A.FIG. 1 depicts a first orientation 117A, and a second orientation 117Bwhere display 110 has been rotated 90 degrees to the right. In otherexamples not depicted in FIG. 1, the techniques described herein may beapplied for other orientations for display 110, such as rotated 180 or270 degrees to the right from orientation 117A depicted in FIG. 1. Instill other examples not depicted in FIG. 1, the techniques describedherein may be applied to a display rotated to the left, such as 90, 180,or 270 degrees to the left from orientation 117A depicted in FIG. 1.

As shown in the example of FIG. 1, display 110 includes a firstplurality of parallax barriers 114 (as shown by the dashed lines ofdisplay 110 in first orientation 117A) and a second plurality ofparallax barriers 116 (as shown by the dashed lines of display 110 insecond orientation 117B). As shown in the example of FIG. 1, the firstplurality of parallax barriers 114 are arranged perpendicular to thesecond plurality of parallax barriers 116.

In general, parallax barriers 114, 116 form a series of precision slitsat a surface of display 110, and operate to cause respective right andleft images of a displayed 3D image to be presented to a viewer's rightand left eyes, respectively.

The first plurality of parallax barriers 114 and second plurality ofparallax barriers 116 may be selectively activated or deactivated tocause the respective right and left images of 3D image 111A, 111B to bepresented to a viewer's right and left eyes, respectively, depending onan orientation for display 110. For example, according to the example ofFIG. 1, first plurality of parallax barriers 114 are arranged verticallywith respect to a viewer's perspective, and may be activated, whendisplay 110 has first orientation 117A (e.g., a landscape physicalorientation), and second plurality of parallax barriers 116 are arrangedhorizontally with respect to the viewer's perspective, and may beactivated, when display 110 has second orientation 117B (e.g., aportrait physical orientation).

Generally speaking, first and second plurality of parallax barriers 114and 116 may be formed by any structure configured to be selectivelyactivated or deactivated to cause right and left images to be directedto a viewer's right and left eyes. For example, first and secondplurality of parallax barriers 114 and/or 116 may comprise ferroelectricliquid crystals or a liquid powder that may be selectively activated(cause 3D image to be presented) or deactivated (cause 2D image to bepresented).

According to the example of FIG. 1, display 110 may use active firstparallax barriers 114 to present image 111A such that image 111A appearssubstantially 3D to a viewer when display 110 has first orientation117A. As also shown in FIG. 1, an orientation of display 110 may bechanged from first orientation 117A to second orientation 117B. Inresponse to such a change between orientation 117A and 117B, display 110may deactivate first plurality of parallax barriers 114, and activatesecond plurality of parallax barriers 116. In other examples notdepicted in FIG. 1, display 110 may present 3D image 111A, 111B inresponse to a transition from second orientation 117B to firstorientation 117A. For example, in response to an indication of a changefrom second orientation 117B to first orientation 117A, display 110 maydeactivate second plurality of parallax barriers 116, and activate firstplurality of parallax barriers 114.

According to the techniques of this disclosure, host controller 115 maycombine image data consistent with an orientation for display 110 (e.g.,consistent with first orientation 117A or second orientation 117B). Forexample, host controller 115 may receive, from display 110 or elsewhere,an indication of an orientation 113 for display 110. For example, asshown according to the example of FIG. 1, the indication of anorientation 113 may indicate that display 110 has first physicalorientation 117A, second orientation 117B, or another orientation notdepicted in FIG. 1. According to other examples, host controller mayreceive an indication 113 that a user desires a second orientation 117Bfor display 110, or that another orientation for 117B has beenautomatically determined, such as by one or more software applicationsexecuting on host controller 115, or display 110, or another computingdevice.

Host controller 115 may control display 110 to present 3D image 111Aconsistent with an orientation 117A for display 110 according to thetechniques of this disclosure. For example, if display has firstorientation 117A, host controller 115 may combine first image data 121associated with a right image of 3D image 111A with second image data123 associated with a left image of 3D image 111A according to a firstinterleaved format to generate first combined image data 118A, and sendfirst combined image data 118A to display 110. Based on the combinedimage data 118A, display 110 may present 3D image 111A consistent withfirst orientation 117A for display 110 (e.g., consistent with firstplurality of parallax barriers 114 being activated, and second pluralityof parallax barriers 116 being deactivated). The first and second imagedata 121, 123 may represent a still 3D image, or may represent a 3Dvideo sequence (e.g., a plurality of still 3D images presented insequence).

According to the example of FIG. 1, in response to an indication 113that display 110 has second orientation 117B, host controller 110 maycombine first image data 121 and second image data 123 to generatesecond combined image data 118B arranged in a second interleaved formatdifferent than the first interleaved format of first combined image data118A. Based on the combined image data 118B, display 110 may present 3Dimage 111A consistent with second orientation 117B for display 110(e.g., consistent with second plurality of parallax barriers 116 beingactivated, and first plurality of parallax barriers 114 beingdeactivated).

According to one example, host controller 115 may generate firstcombined image data 118A to have a pixel-interleaved format, andgenerate second combined image data 118B to have a line-interleavedformat. According to another example, host controller 115 may generatefirst combined image data 118A to have a line-interleaved format, andgenerate image data 118B to have a pixel-interleaved format.

According to the techniques of this disclosure, host controller 115 maycombine (and/or otherwise process) first image data 121 corresponding toa right image of a 3D image and second image data 123 corresponding to aleft image of a 3D image and send the combined image data 118A, 118B toa display 110 consistent with an orientation for the display 110 (e.g.,consistent with an activated plurality of parallax barriers 114, 116 ofthe display). In this manner, the techniques of this disclosure providefor advantages over other techniques for controlling the display of a 3Dimage consistent with an orientation for the display. For example,according to the techniques described herein, display 110 may not bespecifically configured to combine or modify image data in response to achange in orientation for the display. Instead, display 110 may merelyreceive from host controller combined image data 118A in a first formatand/or combined image data 118B in a second format, already processedconsistent with an orientation change between first orientation 117A andsecond orientation 117B of display 110. In this manner, display mayreceive combined image data 118A, 118B and present the 3D image 111A,111B in a same way, regardless of whether display 110 has firstorientation 117A or second orientation 117B. Accordingly, a complexityof circuitry and/or software (e.g., a display driver IC) of display 110may be reduced. Also, in some examples, display 110 may rely on alimited power source (e.g., a battery) and/or include less processingpower and/or memory than host controller 115. The techniques of thisdisclosure may be used to reduce an amount of battery power, processingpower, memory, and/or other computing resources of display 110 used topresent 3D image 111A, 111B consistent with an orientation for display110. According to these examples, battery power, processing power,memory, and/or other computing resources that may have been used topresent 3D image 111A, 111B consistent with an orientation of display110 may be beneficially used for other purposes.

According to various examples described herein, host controller 115 maycomprise any device communicatively coupled to a display 110 configuredto present a 3D image 111A, 111B. For example, host controller 115 mayinclude one or more processors associated with one or more of a set-topbox, gaming console, mobile phone, smart phone, tablet computer, laptopcomputer, desktop computer, or any other computing device configured toprocess first and second image data 121, 123 associated with respectiveright and left images of 3D image 111A, 111B.

Also according to the various examples described herein, display 110 mayinclude any device that includes a display 110 (e.g., a display screen112) configured to present 3D image 111A, 111B consistent with thetechniques of this disclosure. According to the example of FIG. 1,display includes an active first plurality of parallax barriers 114, andan active second plurality of parallax barriers 116 arrangedperpendicular to the first set of parallax barriers 114. In otherexamples, display 110 may include one or more other mechanisms thatenable display 110 to present a 3D image. For example, display 110 mayinclude one or more lenticular lenses or other mechanism that enabledisplay 110 to present a 3D image 111A,111B. For example, display 110may include one or more of a cathode ray tube (CRT), liquid crystaldisplay (LCD), light emitting diode (LED) display, LED LCD display,organic light emitting diode display, plasma display, or the like. Insome examples, such a display may be provided in a dedicated displaymonitor, a television, a mobile phone, a smart phone, a tablet computer,a laptop computer, a desktop computer, a digital media player, a gamingcontroller that includes a display, or any other device that includes adisplay 110 configured to present 3D image 111A, 111B as describedherein.

Also, according to the various examples described herein, hostcontroller 115 may be communicatively coupled to display 110, eitherwired or wirelessly. For example, host controller 115 may be configuredto communicate image data 118A, 118B to display 110 via one or morewired communication techniques or interfaces such as HIGH DEFINITIONMACHINE INTERFACE (HDMI), DIGITAL VIDEO INTERFACE (DVI), compositevideo, component video, UNIVERSAL SERIAL BUS (USB) interface), FIREWIREinterface, Ethernet interface, or any other technique for wiredcommunication of image data 118A and modified image data 118B. Accordingto other examples, host controller 115 may be configured to communicateimage data 118A and modified image data 118B to display 110 via one ormore wireless communication techniques such as BLUETOOTH, WI-FI (e.g.,802.11X), wireless HDMI, and/or a cellular communications interface(e.g., via 3G, 4G cellular communications networks).

As depicted in FIG. 1 and described above, host controller 115 mayreceive an indication of an orientation 113 for display 110. In someexamples, such an indication of an orientation 113 may be received fromdisplay 110. For example, display 110 may include one or more sensors(e.g., accelerometer and/or gyroscope) configured to detect a physicalorientation of display 110 and/or a change in physical orientation ofdisplay 110 (e.g., a user has physically rotated the display from afirst physical orientation 117A to second physical orientation 117B asdepicted in FIG. 1). According to this example, indication 113 may bereceived by host controller 115 in response to detection of anorientation of display 110 is held by a user in space (e.g., wheredisplay is a handheld device such as a smart phone or tablet computer).

In other examples, the indication of an orientation 113 may be receivedby host controller 115 in response to detection that a user has modifiedan orientation of a mounted display (e.g., a television display) securedto a wall, desk, or other structure. Such an indication 113 may bedetected by a sensor of the display 110 as described above with respectto a handheld display 110, or may be detected by a mechanical sensor ofa mounting device configured to detect relative movement of a mountingmember coupled to the display 110.

In still other examples consistent with the techniques of thisdisclosure, host device 115 may receive an indication of an orientationfor display 110 that is not a physical orientation as depicted withrespect to the example of FIG. 1. For example, host device 115 mayreceive an indication to modify an orientation of a displayed 3D image111A with respect to a fixed physical orientation of display 110.According to these examples, like the example described above withrespect to changed physical orientation of display 110, display 110 maybe operable to activate and/or deactivate first plurality of parallaxbarriers 114 or second plurality of parallax barriers 116, such that animage appears substantially 3D to a viewer when the viewer is indifferent viewing positions.

According to one such an example, host device 115 may receive such anindication of an orientation of an image with respect to a fixedphysical orientation of display 110 based on user input (e.g., viadisplay 110, host controller 115, or another input device), or based onone or more sensors or other computing device communicatively coupled tohost controller 115). For example, a user may desire to change anorientation of image 111A to such a second orientation with respect tothe fixed physical orientation of display 110 when the viewer hastransitioned from being in an upright viewpoint (e.g., the viewer isstanding or sitting in front of display 110) to a horizontal viewpoint(e.g., the viewer is laying down in front of display 110). Accordingly,host controller 115 may generate combined image data 118A, 118B inresponse to such an orientation of the viewer with respect to a fixedphysical orientation of display 110.

FIG. 2 is a conceptual diagram that illustrates one example of a display210 that includes a plurality of parallax barriers 214 consistent withthe techniques described herein. As shown in the example of FIG. 2,display 210 includes a plurality of parallax barriers 214 at a screen212 of display 210. The plurality of parallax barriers 214 depicted inFIG. 2 may correspond to either of the first plurality of parallaxbarriers 114 depicted in FIG. 1, or the second plurality of parallaxbarriers 116 depicted in FIG. 1.

As shown in FIG. 2, display 210 is configured to present alternatingright display regions 242 and left display regions 244 The respectiveright and left display regions 242, 244 may correspond to lines (e.g.,pixel columns) of a displayed image (e.g., lines presented betweenparallax barriers 114, 116 as depicted in FIG. 1). Right display regions242 and left display regions 244 may correspond to respective right andleft images of a 3D image (e.g., 3D image 111A, 111B depicted in FIG.1). As depicted in FIG. 2, parallax barriers 214 may operate to cause aviewer to perceive left display regions 244 with the viewer's left eye232, and cause the viewer to perceive right display regions 242 with theviewer's right eye 233. Based on differences between a right imagecomprising right display regions 242, and a left image comprisingdisplay regions 244, a presented image may appear substantially 3D to aviewer.

As described above, parallax barriers 214 depicted in FIG. 2 may beactive parallax barriers that may be selectively activated ordeactivated. For example, display 210 may include a first plurality ofparallax barriers and a second plurality of parallax barriers arrangedperpendicular to the first plurality of parallax barriers. Consistentwith the techniques described herein, display 210 may be configured toselectively activate or deactivate the first and/or second plurality ofparallax barriers such that a viewer may perceive a displayed image assubstantially 3D, for more than one orientation for display 210.

FIG. 3 is a block diagram that depicts one example of a host controller315 configured to control the display of 3D images by a display 310based on an orientation for the display 310 consistent with thetechniques described herein. As depicted in FIG. 3, host controller 315includes an image processing module 340, a memory 345, a power source346, and a communications module 347 (hereinafter “COM module 347”). Asalso depicted in FIG. 3, display 310 includes a memory 355, power source356, and communications module 357 (hereinafter “COM module 357”).

In some examples, memory 345 of host controller and/or memory 355 ofdisplay 310 may comprise one or more components configured to store datashort or long-term, such as a random access memory (RAM) component, aFlash memory component, a magnetic hard disc memory, or any othercomponent configured to store data. In some examples, power source 346of host controller 315 and/or power source 356 of display 310 maycomprise an internal and/or external power source. For example, wherehost controller 315 and/or display 310 are a mobile device (e.g., asmart phone or tablet computer), power source 346, 356 may comprise arechargeable battery or other component configured to store electricalenergy. However, where host controller 315 and/or display 310 is anon-mobile device such as a desktop computer, host controller 315 and/ordisplay 310 may also or instead be coupled to an external power sourcesuch as a standard wall outlet.

COM module 347 of host controller 315 and COM module 357 of display 310may include any combination of hardware and/or software configured tocommunicatively couple host controller 315 to display 310. For example,COM module 347 may be configured to interact with communications module357 (hereinafter COM module 357) of display 310. COM modules 347, 357may be configured to communicatively couple host controller 315 todisplay 310 via any wireless or wired communication protocol. Forexample, COM modules 347, 357 may be configured to communicate with oneanother via one or more wired communication techniques such as HIGHDEFINITION MACHINE INTERFACE (HDMI), DIGITAL VIDEO INTERFACE (DVI), acomposite video, a component video interface, a UNIVERSAL SERIAL BUS(USB) interface), a FIREWIRE interface, an Ethernet interface, or anyother technique for wired communication of image data 118A and modifiedimage data 118B. According to other examples, COM modules 347, 357 maybe configured to communicate via one or more wireless communicationtechniques such as BLUETOOTH, WI-FI, wireless HDMI, and/or a cellularcommunications interface (e.g., via 3G, 4G cellular communicationsnetworks).

Image processing module 340 of host controller 315 may comprise anycombination of hardware and/or software configured to access and/orgenerate image data (e.g., data indicating one or more parameters ofpixels of a displayed image). For example, image processing module 340may include a digital signal processor (DSP), central processing unit(CPU), and/or any other hardware and/or software component configured toaccess and or generate image data.

As depicted in FIG. 3, image processing module 340 includes a 3D displayprocessing module 332, which may be configured to process image datastored in one or more frame buffer(s) 330. Frame buffer(s) 330 maycomprise, for example, at least one portion of memory 345. In someexamples, frame buffer 330 may be configured to receive and store firstimage data 321 (e.g., left image data) and second image data 323 (e.g.,right image data). First and second image data 321, 323 may be receivedfrom any source, whether internal or external to host controller 315.For example, first and second image data 321, 323 may include image datareceived from a graphics processing unit (GPU, not depicted in FIG. 3)of host controller 315, from image data stored in memory 345, fromanother computing device via communications module 347, or any othersource.

3D display processing module 332 may read first and second image data321, 323 from frame buffer(s) 330, and process first and second imagedata 321, 323 for presentation via screen 312. In some examples, 3Ddisplay processing module 332 may determine a type of processingperformed on left and right images based on an indication of a physicalorientation (e.g. portrait or landscape orientation) for display 310.

As shown in the example of FIG. 3, display processing module 332includes a left image pipeline 322, a right image pipeline 324, and acombine module 326. Left image pipeline 322 may include any hardwareand/or software component configured to read and/or process image datafor a left image of a 3D image, i.e., a left eye view, as describedherein. Right image pipeline 324 may include any hardware and/orsoftware component configured to read and/or process image data for aright image of a 3D image, i.e., a right eye view, as described herein.Combine module 326 may include any hardware and/or software componentconfigured to combine right and left image data for presentation by a 3Ddisplay, as described herein.

According to the example of FIG. 3, left image pipeline 332 may readand/or process image data representing a left image of a 3D image (e.g.,first image data 321), and right image pipeline 334 may read and orprocess image data representing a right image of a 3D image. Forexample, right and left image pipelines 322, 324 may perform one or moreof rotation, scaling, filtering, sharpening, color space conversion,gamma correction, picture adjustment, or any other processing of imagedata 312, 324 that represents respective right and left images. In someexamples, a type of processing performed by right and left imagepipelines 322, 324 on left and right images may depend on an indicationof display orientation received by host controller 315. In someexamples, right and left image pipelines 322, 324 may substantiallyidentically process respective right and left image data. As onespecific example, in response to detection that an orientation fordisplay 310 has changed by 90 degrees, right and left image pipelines322, 324 may perform a 90 degree rotation of right and left image data,as well as apply different scaling ratios to the image data. Table 1below illustrates one example of processing that may be performed onimage data in response to detection of an orientation change. Table 1 isprovided for exemplary purposes. In other examples, different processingof image data may be performed by host controller 315 in response todetermining that an orientation for a display 310 has changed.

TABLE 1 Source image Display scan Display orientation directionorientation Rotation Scaling Portrait Portrait Portrait No Yes PortraitPortrait Landscape −/+90′ Yes Portrait Landscape Portrait −/+90′ YesPortrait Landscape Landscape No Yes Landscape Portrait Portrait No YesLandscape Portrait Landscape −/+90′ Yes Landscape Landscape Portrait−/+90′ Yes Landscape Landscape Landscape No Yes

As shown in Table 1 above, based on a scan direction for display 310, aswell as an a determined physical orientation for display 310 and/or anorientation of a source image presented by display 310, host controller315 may process image data. For example, host controller 315 may or maynot rotate image data substantially 90 degrees as shown in Table 1. Asalso shown in Table 1, in addition to rotating image data, hostcontroller 315 may also scale image data based on a difference betweensource and destination dimensions, a scan direction and/or a determinedphysical orientation for display 310 and/or an orientation of a sourceimage presented by display 310.

Table 1 depicts one example of processing that may be performed by hostcontroller 315 in response to a determined 90 degree change in physicalorientation for display 310. For example, as shown in Table 1, inresponse to detecting a 90 degree orientation change, host controller315 may rotate image data −/+90 degrees. In other examples not depictedin Table 1, host controller 315 may be configured to process image datain response to a 180 degree orientation change for display 310, or anyother degree of orientation display change. For example host controller315 may be configured to rotate the image data −/+180 degrees inresponse to a 180 degree orientation change.

Combining module 326 may receive right and left image data processed asdescribed above and combine and/or blend the processed respective rightand left image to generate combined image data 348 that represents a 3Dimage. For example, combining module 326 may combine the processed rightand left image data to generate line or pixel interleaved combined imagedata 348 based on an indication of an orientation of display 310 (e.g.,screen 312), consistent with one or more aspects of this disclosure.

As depicted in FIG. 3, host controller 315 may send combined image data348 to display 110. For example, host controller 315 may send combinedimage data 348 to display 110 via COM module 347. According to thisexample, display 110 may receive combined image data 348 via COM module357.

As depicted in FIG. 3, display 310 includes a display control module360. Display control module 360 may be configured to receive combinedimage data 348 from host controller 315 (e.g., via COM module 357), andcontrol a screen 312 of the display 310 to present one or more imagesconsistent with the received combined image data 348. For example,display control module 360 may include one or more components configuredto cause one or more display elements (e.g., LCD display element, plasmadisplay elements, not shown in FIG. 3) at a surface of the display toemit light of different color, transparency, contrast, frequency, orother property based on combined image data received from hostcontroller 315. As shown in the example of FIG. 3, display controlmodule 360 of display 310 may include one or more line and/or framebuffer(s) 350 (hereinafter line/frame buffer(s) 350, which may include aspace associated with one or more lines and/or frames of image datawithin memory 355). In some examples, display 310 may store receivedcombined image data in line/frame buffer 350. Display control module 360may read combined image data 348 from line/frame buffer 350 and controlthe presentation of pixels of screen 312 based on received combinedimage data 348 from frame buffer 350. As depicted in the example of FIG.3, display 310 includes an orientation detection module 352 and aparallax barrier module 358. Orientation detection module 352 mayinclude, or be communicatively coupled to, one or more sensors (notshown in FIG. 3) configured to determine an orientation for display 310.For example, orientation detection module 352 may be configured todetermine a physical orientation of the display (e.g., whether thedisplay is in a portrait physical orientation or a landscape physicalorientation), and/or a degree of the display (e.g. whether the displayhas been rotated 90, 180, 270, or 360 degrees). To do so, orientationdetection module 352 may include or be coupled to one or more of agyroscope sensor configured to detect an orientation of display withrespect to a reference plane (e.g., a reference plane horizontal to asurface of the Earth). According to another example, orientationdetection module 352 may also or instead include an accelerometer orgyroscope sensor configured to detect movement and/or force of displayto determine an orientation of display 310 (e.g., a change inorientation for display 310). According to still another example, wheredisplay 310 is secured to a wall or other structure via a rotatablemechanism, orientation detection module 352 may be communicativelycoupled to one or more sensors configured to detect movement of therotatable mechanism, and thereby determine an orientation of display310.

Parallax barrier module 358 of display 310 may be configured to receivean indication of orientation for display 310 from orientation detectionmodule 352 (and/or from another computing device or sensor), andselectively activate or deactivate one or more parallax barriers 314,316 (e.g., parallax barriers 114, 116 depicted in FIG. 1) of screen 312in response to the received indication. For example, as described abovewith respect to FIG. 1, display 310 may include a first plurality ofparallax barriers 314 (e.g., parallax barriers 114 depicted in FIG. 1),and a second plurality of parallax barriers 316 (e.g., parallax barriers116 depicted in FIG. 1) arranged perpendicular to the first plurality ofparallax barriers.

According to these examples, parallax barrier module 358 may selectivelyactivate or deactivate the first or second plurality 314, 316 ofparallax barriers, based on an orientation for display 310. For example,parallax barrier module 358 may activate the first plurality of parallaxbarriers 314 and deactivate the second plurality of parallax barriers316 if display 310 has a first orientation (e.g., first orientation 117Adepicted in FIG. 1). If display 310 has a second orientation (e.g.,second orientation 117B depicted in FIG. 1) different than the firstorientation, parallax barrier module 358 may deactivate the firstplurality of parallax barriers 314, and activate the second plurality ofparallax barriers 316. In this manner, display 310 may be operable topresent a 3D image (e.g., 3D image 111A, 111B depicted in FIG. 1) to aviewer in either the first orientation or the second orientation.

In some examples, as depicted in FIG. 3, orientation detection module352 may also send an indication of a determined orientation 358 fordisplay 310 to host controller 315 (e.g., via COM modules 347, 357).Such an indication 368 may be received by image orientation module 325of host controller 315. Image orientation module 325 may, according tothe techniques described herein, cause image processing module 340 toprocess and/or combine first image data 321 and second image data 323differently, dependent on an orientation for display 310.

For example, if display 310 has a first orientation, image orientationmodule 325 may cause 3D display processing module 332 to process firstand second image data 321, 323 based on the first orientation of display310. For example, right and left image pipelines 322, 324 may readrespective right and left image data 321, 323 from frame buffer(s) 330,and scale and/or rotate the right and left image data consistent withthe first orientation for display 310. Combine module 326 may combinethe rotated and/or scaled right and left image data to generate combinedimage data 348 that is line or pixel interleaved, consistent with anactive plurality of parallax barriers 314, 316 of display 310.

In some examples, in response to an indication 368 that display 310 hasa second orientation different than the first orientation, imageorientation module 325 may cause 3D display processing module 332 togenerate combined image data differently. For example, right and leftimage pipelines 322, 324 may read respective right and left image data321, 323 from frame buffer(s) 330, and scale and/or rotate the right andleft image data consistent with the determined second orientation fordisplay 310. As one example, right and left image pipelines 322, 324 mayrotate image data 90 degrees right or left, consistent with thedetermined second orientation for display. As another example, right andleft image pipelines 322, 324 may scale right and left image dataconsistent with an orientation of display 310. For example, imagepipelines 322, 324 may increase or decrease a number and/or size of rowsand/or columns of image pixels of the respective right and left imagedata.

Combine module 326 may combine the rotated and/or scaled right and leftimage data to generate combined image data 348 that is line or pixelinterleaved, consistent with an active plurality of parallax barriers314, 316 of display 310. For example, if for the first orientation fordisplay 310, combine module 326 operated to generate combined image data348 in a line-interleaved format, for the second orientation for display310, combine module 326 may generate combined image data 348 in apixel-interleaved format. In this manner, host controller 315 may beconfigured to process and/or combine respective right and left imagedata 321, 323 to generate combined image data 348 such that display 310presents a substantially 3D image, regardless of a physical orientationof display 310.

In some examples, the first interleaved format comprises aline-interleaved format, and the second interleaved format comprises apixel-interleaved format. According to other examples, the firstinterleaved format comprises a pixel-interleaved format, and the secondinterleaved format comprises a line-interleaved format.

By modifying, by image orientation module 325, operation of imageprocessing module 340 of host controller 315 to combine first and secondimage data 321, 323 in a pixel-interleaved or line-interleaved format asdescribed herein, host controller 315 may send to display 310 image datathat corresponds to an orientation for display 310. For example,combined image data 348 sent to display may be consistent withactivation of a first plurality of parallax barriers 314 (with secondparallax barriers 316 deactivated) or activation of a second pluralityof parallax barriers 316 (with first parallax barriers 314 deactivated)of display 310.

In some examples, a scan order of display screen 312 may be differentfrom an orientation of display 310. For example, a scan order of screen312 may be described as an order in which pixels are shown/drawn ondisplay, which may be in a line by line fashion. For example, for alandscape scan order of screen 312, pixels for each line may be drawnone by one along the longer side of a rectangular screen 312. As anotherexample, for a portrait scan order of screen 312, pixels for each linemay be drawn one by one along a shorter side of a rectangular screen312. Regardless of the scan order, a display panel may be arranged inlandscape or portrait physical orientation with respect to a viewer.

In some examples, display 310 may have a predetermined scan order. Forexample, display 310 may be a landscape scan display or a portrait scandisplay. According to a landscape scan, display 310 may output lines(e.g., rows) of pixels starting from a top edge of screen 312 to abottom edge of screen 312, where a length of the top and bottom edges ofthe screen are greater than a height of screen 312. For example, foreach frame of a sequence of images (e.g., a video sequence), a landscapescan display may output lines (e.g., rows) of pixels from top to bottomfor a first frame of the sequence, and then output lines (e.g., rows) ofpixels from top to bottom for a second frame of the sequence. Accordingto a portrait scan, display 310 may output lines (e.g., rows) of pixelsstarting from a top edge of screen 312 to a bottom edge of screen 312,where a length of the top and bottom edges of the screen are less than aheight of screen 312.

FIGS. 4-7 depict various examples of 3D display screens 410, 610,operative to output a 3D image. FIGS. 4-5 depict displays 410, 610configured to output a 3D image in landscape scan order. For exampleFIG. 4 depicts a landscape scan order display 410 arranged in alandscape physical orientation, and FIG. 5 depicts the landscape scanorder display 410 arranged in a portrait physical orientation. FIGS. 6-7depict display 610 configured to output a 3D image in portrait scanorder. For example FIG. 6 depicts a portrait scan order display 610arranged in a portrait physical orientation, and FIG. 7 depicts aportrait scan order display 610 arranged in a landscape physicalorientation.

In some examples, for either of a landscape scan or portrait scandisplay described above, if display 310 has a first orientation, then ascan order of the display (e.g., lines of presented pixels output asdescribed above) may be aligned consistent with an active plurality ofparallax barriers as described above. For example, if a landscape scandisplay is in a portrait physical orientation as depicted in FIG. 5,lines of pixels output according to the landscape scan may align with anactive plurality of parallax barriers of the display where lineinterleaved 3D format would be suitable to present a 3D image using anactive plurality of parallax barriers. However, if the landscape scandisplay is in a landscape orientation as depicted in FIG. 4, lines ofpixels output according to the landscape scan may not align to anorientation for the display (i.e., an orientation of an active pluralityof parallax barriers). For example, lines of pixels output according tothe landscape scan may be perpendicular to an activated plurality ofparallax barriers of the display where pixel interleaved 3D format wouldbe suitable to present a 3D image using an active plurality of parallaxbarriers.

According to another example, if a portrait scan display is arranged ina landscape orientation as depicted in FIG. 7, then lines of pixelsoutput according to the portrait scan may align with activated parallaxbarriers in the landscape orientation for the display. However, if theportrait scan display is in a portrait orientation as depicted in FIG.6, lines of pixels output according to the portrait scan may not alignwith activated parallax barriers in an orientation for the display. Forexample, lines of pixels output according to the portrait scan may beperpendicular to an activated plurality of parallax barriers of thedisplay.

According to the techniques of this disclosure, image processing module340 (e.g., 3D display processing module 326) of host controller 315 mayprocess and/or combine first image data 321 that corresponds to a rightimage of a 3D image and second image data 323 that corresponds to a leftimage of the 3D image in a first or second interleaved format, dependenton an orientation for the display. According to these techniques,display 310 may not itself be configured to process image data such thatthe image data is presented consistent with the orientation for thedisplay (e.g., consistent with an activated plurality of parallaxbarriers of the display). Instead, display 310 may merely receivecombined image data from host controller 315, which has already beenprocessed to be consistent with an activated plurality of parallaxbarriers 314, 316 of display 310. Accordingly, a complexity of displaycontrol module 350 (e.g., a complexity of a display driver IC of display310) may be reduced in comparison to other techniques. Also, one or moreof computing, memory, or power resources of display 310 used to presenta 3D image may be reduced.

As described above, in some examples, one or more of host controller 315and/or display 310 may be a mobile device (e.g., smart phone, tabletcomputer, laptop computer) or other device configured to operate using alimited power source 346, 356. In some examples, display 310 may beconfigured to operate using a limited power source 356, and hostcontroller 315 may be configured to operate on a less-limited powersource 346 (e.g., a larger battery, or direct electrical coupling to apower source, such as an electrical output) than display 310. In someexamples, display 310 may also or instead include less processingresources (e.g., a less powerful CPU or GPU), and/or have less availablememory 355 than host controller 315. According to these examples, thetechniques of this disclosure may provide for further advantages. Forexample, by processing image data 321, 323 to be consistent with anorientation for display 310 by host controller 315, instead of bydisplay 310 as described herein, an amount of power, memory, and/orcomputing resources of display 310 used to present a 3D image may bereduced. As such, one or more resources of display 310 may bebeneficially used for other purposes.

According to the techniques described herein, host controller 315 mayinclude any device that may control a different device that includes adisplay 310 configured to present a 3D image. Host controller 315 itselfmay or may not include a display. For example, display 310 may comprisea television monitor, and host controller 315 may comprise a smartphone, tablet computer, laptop computer, desktop computer, or any othercomputing device that itself includes a display different than display310.

As described above, image processing module 340 may process and/orcombine received first image data 321 and second image data 323 andgenerate combined image data 348. In some examples, instead of, or inaddition to, sending the combined image data 348 to display 310 forpresentation, image processing module 340 may store the combined imagedata in memory 345 (e.g., one or more frame buffer(s) 330) for lateruse. For example, image processing module 340 may send the storedcombined image data 348 to display 310 via another pipe, such as a(Direct Memory Access) (DMA) pipe (not depicted in the example of FIG.3).

In some examples, first and second image pipelines 322, 324 may eachinclude their own associated frame-line buffer components. For example,left and right image pipelines 322, 324 may comprise one or morecomponents that include an integrated memory, such as a static randomaccess memory (SRAM) component. In some examples, at least a portion offirst image data 321, second image data 323, and/or combined image datamay be stored in such an integrated memory component for processingpurposes (e.g. one or more of combination, rotation, scaling, filtering,sharpening, color space conversion, gamma correction, pictureadjustment, or other processing).

In some examples, image processing module 340 may receive first andsecond image data 321, 323 by accessing frame buffers 330. According tothese examples, left and right image pipelines 322, 324 may read firstand second image data 321, 323 in a same way from frame buffer(s),regardless of an orientation for display 310 (e.g., regardless of areceived indication of orientation change 368). For example, where leftand right image pipelines 322, 324 read first and second image data 321,323 from frame buffer(s) 330 line by line for a first orientation fordisplay, left and right image pipelines 322, 324 may read first andsecond image data 321, 323 line by line from frame buffer(s) 330 inresponse to a second orientation for display. As another example, whereleft and right image pipelines 322, 324 read first and second image data321, 323 from frame buffer(s) 330 tile by tile for a first orientationfor display, left and right image pipelines 322, 324 may read first andsecond image data 321, 323 tile by tile from frame buffer(s) 330 inresponse to a second orientation for display.

In other example, left and right image pipelines 322, 324 may not readimage data from frame buffer(s) in a same way from frame buffer(s),regardless of an orientation for display 310. According to theseexamples, left and right image pipelines 322, 324 read first and secondimage data 321, 323 from frame buffer(s) 330 line by line for a firstorientation for display 310, and in response to an orientation changefor display 310, left and right image pipelines 322, 324 read first andsecond image data 321, 323 from frame buffer(s) 330 tile by tile for asecond orientation for display 310.

In some examples, where image processing module 340 reads right and leftimage data from frame buffer(s) 330 in the same way regardless of anorientation of display 310, as opposed to accessing the respective framebuffers differently (e.g., reading right and left image data pixel bypixel or tile by tile, as opposed to line by line, depending on anorientation for display 310), memory access inefficiencies, which mayresult from transitioning between reading image data differently, may bereduced. As such, number of page faults experienced when reading imagedata 321, 323 from frame buffer(s) 330 may be reduced.

In other example, left and right image pipelines 322, 324 may not readimage data from frame buffer(s) in a same way from frame buffer(s),regardless of an orientation for display 310. According to theseexamples, left and right image pipelines 322, 324 read first and secondimage data 321, 323 from frame buffer(s) 330 line by line for a firstorientation for display 310, and in response to an orientation changefor display 310, left and right image pipelines 322, 324 read first andsecond image data 321, 323 from frame buffer(s) 330 tile by tile for asecond orientation for display 310. In some examples, transitioningbetween reading first and second image data 321, 323 from framebuffer(s) 330 line by line to tile by tile or vice versa may improveperformance of host controller 315.

FIGS. 4 and 5 are conceptual diagrams of a screen 412 of a landscapescan display 410 configured to output a 3D image, and FIGS. 6-7 areconceptual diagrams of a screen 612 of a portrait scan display 610configured to output a 3D image. According to the techniques of thisdisclosure, a host controller 115, 315 may be configured to combine leftand right image data to be displayed by the respective display 410, 510consistent with a first 414, 614 or second 416, 616 plurality ofparallax barriers of the displays 410, 610, depicted in FIGS. 4-7. Suchcombined image data may be received by displays 410, 610, depicted inFIGS. 4-7, to output pixels of one or more images as shown in FIGS. 4-7.

The conceptual diagrams of FIGS. 4-7 are provided for purposes ofexplaining the techniques described herein, and are intended to benon-limiting. For example, the examples of FIGS. 4-7 depict screens 412,612 configured to present a relatively small number of pixels and arelatively small number of parallax barriers 414, 416, 614, 616 thatoperate to direct the pixels of left and right lines of an image to aviewer's respective right and left eyes. In some examples screen 412,612 may be configured to present an image that includes more or fewerimage pixels and parallax barriers 414, 416, 614, 616. According to onesuch example, a display 410, 610 configured to output image data in a1080p high-definition format may output 1080 lines of image pixels for aframe of a still image or a frame of video data. According to such anexample, display 410 depicted in FIG. 4 may have a width of 1920 pixelsand a height of 1080 pixels, and may include up to 1920 first parallaxbarriers 414 and up to 1080 second parallax barriers 416. According toanother example, display 610 depicted in FIG. 6 may have a width of 1080pixels and a height of 1920 pixels, and may include 1080 first parallaxbarriers 614 and 1920 second parallax barriers 616. Also according tosuch examples, where a display is configured to output a 3D image asdescribed herein, half of the 1080 lines of a 1080p high-definitiondisplay may be used to present lines of a left image of a 3D image, andthe other half of the 1080 lines of the display may be used to presentlines of a right image of the 3D image.

Also, as described herein, to present a 3D image a display may beconfigured to output lines and/or columns of a right image, and linesand/or columns of a left image, such that parallax barriers 414, 416,614, 616 may cause a presented image to appear substantially 3D to aviewer. In other multi-view 3D examples, a display may be configured tooutput multiple different left and right images corresponding to same ordifferent 3D image, for example to increase a viewing radius of thedisplay for one or more than one viewer. According to these examples, ahost controller 315 may use more than two pipelines (e.g., more than theright and left image pipelines 332, 334 depicted in FIG. 4) to generatecombined image data corresponding to multiple right, and multiple left,images of 3D images consistent with the other examples described herein.

FIG. 4 depicts a screen 412 of a landscape scan display 410 arranged ina landscape orientation. When arranged in the landscape orientationdepicted in FIG. 4, a width of screen 412 is greater than a height ofscreen 412.

According to the example of FIG. 4, display 410 is configured to outputpixels of image data according to a landscape scan. For example, asshown in FIG. 4, landscape scan display 410 includes a pixel scandirection (from left to right of screen 412), and a line scan direction(from top to bottom of screen 412). According to the landscape scanorder of display 410, display 410 may first output a pixel at an upperleft-most corner of display 410 (e.g., a first pixel from top of line ofleft image 420), and then proceed to sequentially output pixels fromleft to right to a pixel located in an right-most upper corner of thedisplay. As shown in FIG. 4 these pixels, of a top row of the displayscreen 412, comprise a line 430A of the landscape scan of display 410.As shown in FIG. 4, display 410 may continue to similarly output lines430B-430D of the landscape scan. In some examples, once pixels of a lastline (e.g., line 430D in the example of FIG. 4) of the landscape scanare output, display 410 may return to an upper left-most corner ofscreen 412, and output lines of a next frame of image data according tothe landscape scan depicted in FIG. 4.

As represented by the dashed lines in FIG. 4, screen 412 includes afirst plurality of parallax barriers 414. Parallax barriers 414 maygenerally correspond to parallax barriers 114 depicted in the example ofFIG. 1. First set of parallax barriers 414 may be activated when display410 has a first orientation (e.g., the landscape orientation for display410 as depicted in FIG. 4), and deactivated when display 410 has asecond orientation (e.g., the portrait orientation for display 410depicted in FIG. 5) different than the first orientation.

According to the example depicted in FIG. 4, screen 412 is operated touse first parallax barriers 414 to cause a presented image to appearsubstantially 3D to a viewer. As described above with respect to FIG. 2,first parallax barriers 414 may cause a respective right and left imageregions of a 3D image presented by a screen 212 to be directed to aviewer's right and left eyes, respectively. For example, parallaxbarriers 414 depicted in FIG. 4 may cause lines 420A, 420C, and 420E ofleft image to be directed to a viewer's left eye, and also cause lines420B, 420D, and 420F of right image to be directed to the viewer's righteye.

According to the example of FIG. 4, where landscape scan display 410 hasa landscape orientation, a scan direction for lines of the landscapescan 430A-430D do not correspond to an orientation of first parallaxbarriers 414. For example, as shown in FIG. 4, lines of landscape scan430A-430D are arranged perpendicular to first parallax barriers 414.

According to the techniques described herein, host controller 315 maycombine image data in a pixel-interleaved format when landscape scandisplay 410 is arranged in a landscape orientation as depicted in FIG.4. For example, host controller 315 may combine left and right imagedata such that lines 430A-430D of the landscape scan arepixel-interleaved (e.g., such that lines 430A-430D each includealternating pixels of left and right images of a 3D image). Accordingly,the left and right lines 420A-420F of a presented 3D image are arrangedwith a same orientation as first parallax barriers 414. As a result,parallax barriers 414 may cause lines 420A, 420C, and 420E to bedirected to a viewer's left eye, and lines 420B, 420D, and 420F to bedirected to the viewer's right eye, such that an image presented bydisplay 410 appears substantially 3D to a viewer when display 410 hasthe landscape orientation depicted in FIG. 4. In some examples, hostcontroller 315 may combine left and right image data differently (e.g.,in a line-interleaved format) if landscape scan display 410 has a secondorientation different than the landscape orientation depicted in FIG. 4,such as the portrait orientation depicted in FIG. 5.

FIG. 5 is a conceptual diagram that depicts the landscape scan display410 of FIG. 4 arranged in a portrait orientation (e.g., a portraitphysical orientation). For example, as shown in FIG. 5, display 410 isarranged such that a height of screen 412 is greater than a width ofscreen 412.

According to the example of FIG. 5, display 410 is configured to outputpixels of image data according to a landscape scan. For example,according to the portrait orientation depicted in FIG. 5, landscape scandisplay 410 includes a pixel scan direction (from top to bottom ofscreen 412), and a line scan direction (from right to left of screen412). According to the landscape scan of display 410, display 410 mayfirst output a pixel at an upper right-most corner of display 410 (e.g.,a first pixel of line 430A), and then proceed to sequentially outputpixels from to a pixel located in a lower right-most corner of screen412 (e.g., a last pixel of line 430A). As shown in FIG. 5 these pixels,of a right-most column of screen 412, comprise a line 430A of thelandscape scan of display 410. As shown in FIG. 5, display 410 maycontinue to similarly output lines 430B-430D of the landscape scan. Insome examples, once pixels of a last line (e.g., line 430D in theexample of FIG. 4) of the landscape scan are output, display 410 mayreturn to an upper right-most corner of screen 412, and output lines ofa next frame of image data according to the landscape scan depicted inFIG. 5.

As represented by the dashed lines in FIG. 5, screen 412 includes asecond plurality of parallax barriers 416. Parallax barriers 416 maygenerally correspond to parallax barriers 116 depicted in the example ofFIG. 1. Second plurality of parallax barriers 416 may be activated whendisplay 410 has a second orientation (e.g., the portrait orientation fordisplay 410 as depicted in FIG. 5), and deactivated when display 410 hasa first orientation (e.g., the landscape orientation for display 410depicted in FIG. 4).

According to the example depicted in FIG. 5, screen 412 is operated touse second plurality of parallax barriers 416 to cause a presented imageto appear substantially 3D to a viewer. As described above with respectto FIG. 2, second parallax barriers 416 may cause a respective right andleft image regions of a 3D image presented by a screen 212 to bedirected to a viewer's right and left eyes, respectively. For example,parallax barriers 416 depicted in FIG. 5 may cause lines 470A, 470C of aright image to be directed to a viewer's right eye, and also cause lines470B, 470D of a left image to be directed to the viewer's left eye.

According to the example of FIG. 5, where landscape scan display 510 hasa portrait orientation, a scan direction for lines of the landscape scan430A-430D correspond to an orientation of second plurality of parallaxbarriers 416. For example, as shown in FIG. 4, lines 430A-430D oflandscape scan are arranged parallel to second plurality of parallaxbarriers 416, unlike the example of FIG. 4 where lines of the landscapescan 430A-430D are arranged perpendicular to first plurality of parallaxbarriers 414.

According to the techniques described herein, host controller 315 maycombine image data in a line-interleaved format when landscape display410 is has a portrait orientation as depicted in FIG. 5. For example,host controller 315 may combine left and right image data such thatlines 430A-430D each include pixels of a right line 470A, 470C of aright image, or a left line 470B, 470D of a left image. Accordingly, theleft and right lines 470A-470D of a presented 3D image are arranged witha same orientation as second parallax barriers 416. As a result, secondparallax barriers 416 may cause right lines 470A, 470C to be directed toa viewer's right eye, and lines 470B, 470D to be directed to theviewer's left eye. Due to host controller 315 combining image data(e.g., stored in frame buffer 330 depicted in FIG. 3) to be presented bydisplay 410 as shown in FIG. 5, parallax barriers 416 may cause an imagepresented by landscape scan display 410 to appear substantially 3D to aviewer in the portrait orientation depicted in FIG. 5.

FIG. 6 depicts a screen 612 of a portrait scan display 610 arranged in aportrait orientation. In the portrait orientation depicted in FIG. 6, aheight of screen 612 is greater than a width of screen 612.

According to the example of FIG. 6, display 610 is configured to outputpixels of image data according to a portrait scan. For example, as shownin FIG. 6, portrait scan display 610 includes a pixel scan direction(from left to right of screen 612), and a line scan direction (from topto bottom of screen 612). According to the portrait scan of display 610,display 610 may first output a pixel at an upper left-most corner ofdisplay 610 (e.g., a first pixel of line of left image 620), and thenproceed to sequentially output pixels from left to right to a pixellocated in an right-most upper corner of the display. As shown in FIG. 6these pixels, of a top row of the display screen 612, comprise a line630A of the portrait scan of display 610. As shown in FIG. 6, display610 may continue to similarly output lines 630B-630F of the portraitscan. In some examples, once pixels of a last line (e.g., line 630F inthe example of FIG. 6) of the portrait scan are output, display 610 mayreturn to an upper left-most corner of screen 612, and output lines of anext frame of image data according to the portrait scan depicted in FIG.6.

As represented by the dashed lines in FIG. 6, screen 612 includes afirst plurality of parallax barriers 614. First plurality of parallaxbarriers 614 may be activated when display 610 has a first orientation(e.g., the portrait orientation for display 610 depicted in FIG. 6), anddeactivated when display 610 has a second orientation (e.g., thelandscape orientation for display 610 depicted in FIG. 7).

According to the example depicted in FIG. 6, screen 612 is operated touse first parallax barriers 614 to cause a presented image to appearsubstantially 3D to a viewer. As described above with respect to FIG. 2,first parallax barriers 614 may cause respective right and left imageregions of a 3D image presented by a screen 212 to be directed to aviewer's right and left eyes, respectively. For example, parallaxbarriers 614 depicted in FIG. 6 may cause lines 620A, 620C of a leftimage to be directed to a viewer's left eye, and also cause lines 620B,620D of a right image to be directed to the viewer's right eye.

According to the example of FIG. 6, where portrait scan display 610 hasa portrait orientation, a scan direction for lines of the portrait scan630A-630F do not correspond to an orientation of first parallax barriers614. For example, as shown in FIG. 6, lines of portrait scan 630A-630Fare arranged perpendicular to first parallax barriers 614.

According to the techniques described herein, host controller 315 maycombine image data in a pixel-interleaved format when portrait scandisplay 610 is has a portrait orientation as depicted in FIG. 7. Forexample, host controller 315 may combine left and right image data suchthat lines 630A-630F of the portrait scan are pixel-interleaved (e.g.,such that lines 630A-630F each include alternating pixels of left andright images of a 3D image). Accordingly, left and right lines 620A-620Dof a presented 3D image are arranged with a same orientation as firstparallax barriers 614. As a result, parallax barriers 614 may causelines 620A, 620C to be directed to a viewer's left eye, and lines 620B,620D to be directed to the viewer's right eye, such that an imagepresented by display 610 appears substantially 3D to a viewer whendisplay 610 has the portrait orientation depicted in FIG. 6. In someexamples, host controller 315 may combine left and right image datadifferently (e.g., in a line-interleaved format) if portrait scandisplay 610 has a second orientation different than the portraitorientation depicted in FIG. 6, such as the landscape orientationdepicted in FIG. 7.

FIG. 7 is a conceptual diagram that depicts the portrait scan display610 of FIG. 6 arranged in a landscape orientation (e.g., a landscapephysical orientation). For example, as shown in FIG. 7, display 610 isarranged such that a width of screen 612 is greater than a height ofscreen 612.

According to the example of FIG. 7, display 610 is configured to outputpixels of image data according to a portrait scan. For example,according to the portrait orientation of display 610 depicted in FIG. 7,display 610 includes a pixel scan direction (from top to bottom ofscreen 612), and a line scan direction (from right to left of screen612).

According to the portrait scan of display 610, display 610 may firstoutput a pixel at an upper right-most corner of display 610 (e.g., afirst pixel of line 630A), and then proceed to sequentially outputpixels from a pixel located in a lower right-most corner of screen 612(e.g., a last pixel of line 430A). As shown in FIG. 7, these pixels, ofa right-most column of screen 612, comprise a line 630A of the portraitscan of display 610. As shown in FIG. 7, display 610 may continue tosimilarly output lines 630B-630F of the portrait scan. In some examples,once pixels of a last line (e.g., line 630F in the example of FIG. 6) ofthe portrait scan are output, display 610 may return to an upperright-most corner of screen 612, and output lines of a next frame ofimage data according to the portrait scan depicted in FIG. 7.

As represented by the dashed lines in FIG. 7, screen 612 includes asecond plurality of parallax barriers 616. Second plurality of parallaxbarriers 616 may be activated when display 610 has a second orientation(e.g., the landscape orientation for display 610 as depicted in FIG. 7),and deactivated when display 610 has a first orientation (e.g., theportrait orientation for display 610 depicted in FIG. 6).

According to the example depicted in FIG. 7, screen 612 is operated touse second plurality of parallax barriers 616 to cause a presented imageto appear substantially 3D to a viewer. As described above with respectto FIG. 2, first parallax barriers 616 may cause a respective right andleft image regions of a 3D image presented by a screen 212 to bedirected to a viewer's right and left eyes, respectively. For example,parallax barriers 616 depicted in FIG. 7 may cause lines 670A, 670C,670E of a right image to be directed to a viewer's right eye, and alsocause lines 670B, 670D, 670F of a left image to be directed to theviewer's left eye.

According to the example of FIG. 7, where portrait scan display 610 hasa landscape orientation, a scan direction for lines of the portrait scan630A-630F correspond to an orientation of second plurality of parallaxbarriers 616. For example, as shown in FIG. 7, lines of portrait scan630A-630F are arranged parallel to second plurality of parallax barriers616, unlike the example of FIG. 6, wherein lines of the portrait scan630A-630D are arranged perpendicular to first plurality of parallaxbarriers 614.

According to the techniques described herein, host controller 315 maycombine image data in a line-interleaved format. For example, hostcontroller 315 may combine left and right image data such that lines630A-630F each include pixels of a left line 670B, 670D, 670F of a leftimage, or a right line 670A, 670C, 670E of a right image. Accordingly,the left and right lines 670A-670F of a presented 3D image are arrangedwith a same orientation as second parallax barriers 616. As a result,parallax barriers 616 may cause right lines 670A, 670C, 670E to bedirected to a viewer's right eye, and lines 670B, 670D,670F to bedirected to the viewer's left eye. Due to host controller 315 combiningimage data (e.g., stored in frame buffer 330 depicted in FIG. 3) to bepresented by display 610 as shown in FIG. 7, parallax barriers 616 maycause an image presented by portrait scan display 610 to appearsubstantially 3D to a viewer in the landscape orientation depicted inFIG. 7.

FIG. 8 is a conceptual diagram that depicts one example of a hostcontroller 815 configured to combine left image data 821 and right imagedata 823 of a 3D image consistent with an orientation for a display 810.As shown in FIG. 8, host controller 815 may receive left image data 821and right image data 823. In some examples, host controller 815 mayreceive left and right image data 821, 823 from respective left andright image pipelines of host controller 815 (e.g., left and right imagepipelines 322, 324 depicted in FIG. 3. In other examples, hostcontroller may receive left and right image data 821, 823 from one ormore locations in a memory (e.g., memory 345 depicted in FIG. 3). Instill other examples, host controller 815 may receive left and rightimage data 821, 823 from another computing device (e.g., viacommunications module 347 depicted in FIG. 3). For example, hostcontroller 815 may receive left and right image data 802, 803 as a videostream from another computing device, e.g., a hypertext transferprotocol (HTTP) server or other type of streaming video server.

In some examples, as host controller 815 receives left image data 821and right image data 823, host controller 815 may process and/or combinethe received image data consistent with an orientation for display 810(e.g., based on a received indication of orientation 813), and store theprocessed image data in frame buffer 830. Dependent on the orientationfor display 810 (e.g., whether display 810 has been rotated), imageorientation module 825 may cause host controller 815 (e.g., 3D displaymodule 332) to process and/or combine received image data in aline-interleaved format, or in a pixel-interleaved format. For example,host controller 815 (e.g., left and right image pipelines 322, 324) mayrotate, scale, filter, sharpen, perform color space conversion, performgamma correction, perform picture adjustment, or any other processing ofimage data that represents respective right and left images. As anotherexample, host controller 815 (e.g., combine module 326) may combine therespective right and left images. As shown in FIG. 8, host controller815 may generate combined image data 818A in a pixel-interleaved format.As also shown in FIG. 8, host controller 815 may generate combined imagedata 818B in frame buffer 830 in a line interleaved format. In someexamples, such as shown in FIG. 8, host controller 815 may generatecombined image data 818A and/or 818B and store the combined image datain memory, such as one or more frame buffers 330. In other examples,host controller 815 may generate the combined image data 818A and/or818B and output the combined image data. For example, host controller815 may output the combined image data to display 310.

As depicted in FIG. 8, host controller 815 may send image data combinedin a pixel-interleaved format 818A, or image data combined in aline-interleaved format 818B to display 810. According to the techniquesdescribed herein, in response to detection of an orientation change fordisplay 810, display 810 may activate one of a first plurality ofparallax barriers (e.g., parallax barriers 114 depicted in FIG. 1) or asecond plurality of parallax barriers (e.g., parallax barriers 116depicted in FIG. 1) and receive combined image data and operate a screenof the display to present images the same as before the orientation fordisplay 810 had changed. In this manner, because host controller 815combines the left and right image data 821, 823 in a pixel-interleavedor a line-interleaved format as depicted in FIG. 8, display 810 mayreceive image data and present 3D images consistent with received imagedata the same, regardless of whether the display is in a firstorientation or a second orientation.

Because display 810 receives combined image data and operates a screenof display 810 in the same manner regardless of an orientation fordisplay 810, in some examples a complexity of one or more components(e.g., a display driver IC of display 810) may be reduced. In addition,in some examples, combining image data by a host controller 815consistent with an orientation for display 810 as described herein mayreduce an amount of power, memory, and/or processing resources ofdisplay 810 that may be used to present a 3D image consistent with anorientation for display 810. In still other examples, a reliability ofmemory access when presenting a 3D image consistent with a physicalorientation of a display may be improved.

FIG. 9 is a flow diagram that illustrates one example of a method forcontrolling, by a host controller 315, a display 310 to present a 3Dimage based on an orientation for the display consistent with thetechniques described herein. According to the method of FIG. 9, hostcontroller 315 (e.g., 3D display processing module 332 of imageprocessing module 340) receives first image data that corresponds to aleft image of a three-dimensional (3D) image, and second image data thatcorresponds to a right image of the 3D image (901). For example, hostcontroller 315 may receive the first and second image data by accessinga memory 345 (e.g., frame buffer 330) of the host controller 315. Hostcontroller 315 may, in some examples, access the memory 345 line by lineor tile by tile, as opposed to pixel by pixel.

As also shown in FIG. 9, host controller 315 (e.g., combining module 326of image processing module 340) combines the first image data and thesecond image data in a first interleaved format to generate a firstcombined image data (902). In some examples, host controller 315 (e.g.,right image pipeline 322, left image pipeline 324 of 3D displayprocessing module 332) may also otherwise process the first image dataand the second image data. For example, host controller 315 may performone or more of rotation, scaling, filtering, sharpening, color spaceconversion, gamma correction, picture adjustment, or any otherprocessing of the first image data and the second image data.

As also depicted in FIG. 9, host controller sends (e.g., viacommunications module 347), to a display 310, the first combined imagedata to control the display 310 to present the 3D image consistent witha first orientation for the display 310. For example, host controller315 may send the combined image data to control the display 310 topresent the 3D image consistent with an activated first plurality ofparallax barriers 314 of the display 310. The first orientation maycomprise a first physical orientation (e.g., a landscape or portraitphysical orientation.

As also shown in FIG. 9, host controller 315 may receive an indicationof a second orientation for the display 310 (903). According to someexamples, the second orientation may comprise a second physicalorientation (e.g., landscape or portrait physical orientation) differentthan the first physical orientation.

As also shown in FIG. 9, host controller 315 (e.g., combining module 326of image processing module 340) may combine the first image data and thesecond image data in a second interleaved format different than thefirst interleaved format to generate second combined image data inresponse to the indication of the second orientation for the display 310(904). In some examples, host controller 315 (e.g., right image pipeline322, left image pipeline 324 of 3D display processing module 332) mayalso otherwise process the first image data and the second image data.For example, host controller 315 may perform one or more of rotation,scaling, filtering, sharpening, color space conversion, gammacorrection, picture adjustment, or any other processing of the firstimage data and the second image data in response to the indication ofthe second orientation for the display 310. In some examples, the firstinterleaved format comprises a line-interleaved format, and the secondinterleaved format comprises a pixel-interleaved format. In otherexamples, the first interleaved format comprises a pixel-interleavedformat, and the second interleaved format comprises a line-interleavedformat.

As also shown in FIG. 9, host controller 315 sends, to the display 310,the second combined image data to control the display 310 to present the3D image consistent with the second orientation for the display. Forexample, the second combined image data may cause the display 310 topresent the 3D image consistent with an activated second plurality ofparallax barriers 316 of the display 310. In some examples, where the 3Dimage comprises a 3D video sequence, host controller 315 may continue tosend, to the display 310, the first or second combined image data foreach frame of the video sequence, depending on whether the display 310has the first orientation or the second orientation.

The techniques described herein may be implemented in hardware,software, firmware, or any combination thereof. Any features describedas modules or components may also be implemented together in anintegrated logic device or separately as discrete but interoperablelogic devices. If implemented in software, the techniques may berealized at least in part by a tangible computer-readable storage mediumcomprising instructions that, when executed, performs one or more of themethods described above. The tangible computer-readable data storagemedium may form part of a computer program product, which may includepackaging materials.

The tangible computer-readable storage medium may comprise random accessmemory (RAM) such as synchronous dynamic random access memory (SDRAM),read-only memory (ROM), non-volatile random access memory (NVRAM),electrically erasable programmable read-only memory (EEPROM), FLASHmemory, magnetic or optical data storage media, and the like. Thetechniques additionally, or alternatively, may be realized at least inpart by a computer-readable communication medium that carries orcommunicates code in the form of instructions or data structures andthat can be accessed, read, and/or executed by a computer.

The instructions may be executed by one or more processors, such as oneor more digital signal processors (DSPs), general purposemicroprocessors, application specific integrated circuits (ASICs), fieldprogrammable logic arrays (FPGAs), or other equivalent integrated ordiscrete logic circuitry. The term “processor,” as used herein may referto any of the foregoing structure or any other structure suitable forimplementation of the techniques described herein. In addition, in someaspects, the functionality described herein may be provided withindedicated software modules or hardware modules configured as describedherein. Also, the techniques could be fully implemented in one or morecircuits or logic elements.

Various examples have been described. These and other examples arewithin the scope of the following claims.

1. A method of controlling a display to present a three-dimensional (3D)image, comprising: receiving, by a host controller, first image datathat corresponds to a left image of a three-dimensional (3D) image;receiving, by the host controller, second image data that corresponds toa right image of the 3D image; combining, by the host controller, thefirst image data and the second image data in a first interleaved formatto generate a first combined image data; sending, by the hostcontroller, the first combined image data to control a display topresent the 3D image consistent with a first orientation for thedisplay; receiving, by the host controller, an indication of a secondorientation for the display; combining, by the host controller, thefirst image data and the second image data in a second interleavedformat different than the first interleaved format to generate secondcombined image data in response to the indication of the secondorientation for the display; and sending, by the host controller, thesecond combined image data to control the display to present the 3Dimage consistent with the second orientation for the display.
 2. Themethod of claim 1, wherein the host controller comprises a first device,and wherein the display comprises a second device different than thefirst device.
 3. The method of claim 1, wherein the first image data andthe second image data are received from another device communicativelycoupled to the host controller.
 4. The method of claim 1, whereinreceiving, by the host controller, the first image data comprisesaccessing the first image data from a memory of the host controller, andwherein receiving, by the host controller, the second image datacomprises accessing the second image data from the memory of the hostcontroller.
 5. The method of claim 4, wherein the memory of the hostcontroller comprises at least one frame buffer of the host controller,and wherein accessing the first image data and accessing the secondimage data comprises accessing the first image data and the second imagedata line by line or tile by tile from the at least one frame buffer. 6.The method of claim 5, further comprising: accessing the first andsecond image data line by line regardless of whether the display has thefirst orientation or the second orientation.
 7. The method of claim 6,further comprising: accessing the first and second image data tile bytile regardless of whether the display has the first orientation or thesecond orientation.
 8. The method of claim 1, wherein the firstorientation for the display comprises a first physical orientation forthe display, and wherein the second orientation for the displaycomprises a second physical orientation of the display different thanthe first physical orientation of the display.
 9. The method of claim 1,further comprising: receiving the indication of the second orientationof the display from the display.
 10. The method of claim 1, furthercomprising: receiving the indication of the second orientation of thedisplay based on user input.
 11. The method of claim 1, furthercomprising: receiving the indication of the second orientation of thedisplay from at least one sensor of another computing device differentthan the host controller and the display.
 12. The method of claim 1,wherein the first interleaved format comprises a pixel-interleavedformat, and wherein the second interleaved format comprises aline-interleaved format.
 13. The method of claim 1, wherein the firstinterleaved format comprises a line-interleaved format, and wherein thesecond interleaved format comprises a pixel-interleaved format.
 14. Themethod of claim 1, further comprising: performing, by the hostcontroller, one or more of rotation, scaling, filtering, sharpening,color space conversion, gamma correction, and picture adjustment of thesecond combined image data in response to the indication of the secondorientation for the display.
 15. The method of claim 1, whereincombining, by the host controller, the first image data and the secondimage data in the first interleaved format to generate the firstcombined image data comprises combining the first image data and thesecond image data consistent with a first plurality of parallax barriersactivated in response to the first orientation for the display; andwherein combining, by the host controller, the first image data and thesecond image data in the second interleaved format to generate thesecond combined image data comprises combining the first image data andthe second image data consistent with a second plurality of parallaxbarriers activated in response to the second orientation for the display16. A host controller device configured to control a display to presenta three-dimensional (3D) image, the device comprising: an imageprocessing module configured to: receive first image data thatcorresponds to a left image of a three dimensional (3D) image; receivesecond image data that corresponds to a right image of the 3D image;combine the first image data and the second image data in a firstinterleaved format to generate a first combined image data; send thefirst combined image data to control a display to present the 3D imageconsistent with a first orientation for the display; receive anindication of a second orientation for the display; combine the firstimage data and the second image data in a second interleaved formatdifferent than the first interleaved format to generate second combinedimage data in response to the indication of the second orientation forthe display; and send the second combined image data to control thedisplay to present the 3D image consistent with the second orientationfor the display.
 17. The device of claim 16, wherein the host controllerdevice comprises a first device, and wherein the display comprises asecond device different than the first device.
 18. The device of claim16, wherein the first orientation for the display comprises a firstphysical orientation for the display, and wherein the second orientationfor the display comprises a second physical orientation of the displaydifferent than the first physical orientation of the display.
 19. Thedevice of claim 16, wherein the first interleaved format comprises apixel-interleaved format, and wherein the second interleaved formatcomprises a line-interleaved format.
 20. The device of claim 16, whereinthe first interleaved format comprises a line-interleaved format, andwherein the second interleaved format comprises a pixel-interleavedformat.
 21. The device of claim 16, wherein the image processing moduleis configured to combine the first image data and the second image datain the first interleaved format to generate the first combined imagedata consistent with a first plurality of parallax barriers activated inresponse to the first orientation for the display; and wherein the imageprocessing module is configured to combine the first image data and thesecond image data in the second interleaved format to generate thesecond combined image data consistent with a second plurality ofparallax barriers activated in response to the second orientation forthe display.
 22. A computer-readable storage medium that storesinstructions configured to cause a computing device to: receive, by ahost controller, first image data that corresponds to a left image of athree dimensional (3D) image; receive, by the host controller, secondimage data that corresponds to a right image of the 3D image; combine,by the host controller, the first image data and the second image datain a first interleaved format to generate a first combined image data;send, by the host controller, the first combined image data to control adisplay to present the 3D image consistent with a first orientation forthe display; receive, by the host controller, an indication of a secondorientation for the display; combine, by the host controller, the firstimage data and the second image data in a second interleaved formatdifferent than the first interleaved format to generate second combinedimage data in response to the indication of the second orientation forthe display; and send, by the host controller, the second combined imagedata to control the display to present the 3D image consistent with thesecond orientation for the display.
 23. The computer-readable storagemedium of claim 21, wherein the host controller device comprises a firstdevice, and wherein the display comprises a second device different thanthe first device.
 24. The computer-readable storage medium of claim 21,wherein the first orientation for the display comprises a first physicalorientation for the display, and wherein the second orientation for thedisplay comprises a second physical orientation of the display differentthan the first physical orientation of the display.
 25. Thecomputer-readable storage medium of claim 21, wherein the firstinterleaved format comprises a pixel-interleaved format, and wherein thesecond interleaved format comprises a line-interleaved format.
 26. Thecomputer-readable storage medium of claim 21, wherein the firstinterleaved format comprises a line-interleaved format, and wherein thesecond interleaved format comprises a pixel-interleaved format.
 27. Thecomputer-readable storage medium of claim 21, wherein the imageprocessing module is configured to combine the first image data and thesecond image data in the first interleaved format to generate the firstcombined image data consistent with a first plurality of parallaxbarriers activated in response to the first orientation for the display;and wherein the image processing module is configured to combine thefirst image data and the second image data in the second interleavedformat to generate the second combined image data consistent with asecond plurality of parallax barriers activated in response to thesecond orientation for the display.
 28. A host controller deviceconfigured to control a display to present a three-dimensional (3D)image, comprising: means for receiving first image data that correspondsto a left image of a three-dimensional (3D) image; means for receivingsecond image data that corresponds to a right image of the 3D image;means for combining the first image data and the second image data in afirst interleaved format to generate a first combined image data; meansfor sending the first combined image data to control a display topresent the 3D image consistent with a first orientation for thedisplay; means for receiving an indication of a second orientation forthe display; means for combining the first image data and the secondimage data in a second interleaved format different than the firstinterleaved format to generate second combined image data in response tothe indication of the second orientation for the display; and means forsending the second combined image data to control the display to presentthe 3D image consistent with the second orientation for the display. 29.The device of claim 28, wherein the host controller device comprises afirst device, and wherein the display comprises a second devicedifferent than the first device.
 30. The device of claim 28, wherein thefirst orientation for the display comprises a first physical orientationfor the display, and wherein the second orientation for the displaycomprises a second physical orientation of the display different thanthe first physical orientation of the display.
 31. The device of claim28, wherein the first interleaved format comprises a pixel-interleavedformat, and wherein the second interleaved format comprises aline-interleaved format.
 32. The device of claim 28, wherein the firstinterleaved format comprises a line-interleaved format, and wherein thesecond interleaved format comprises a pixel-interleaved format.
 33. Thedevice of claim 28, further comprising: means for combining the firstimage data and the second image data in the first interleaved format togenerate the first combined image data consistent with a first pluralityof parallax barriers activated in response to the first orientation forthe display; and means for combining the first image data and the secondimage data in the second interleaved format to generate the secondcombined image data consistent with a second plurality of parallaxbarriers activated in response to the second orientation for thedisplay.